$(function(){
    function getFormData(update){
	var data = {
	    'type' : Z.parseInt($('form select[name=type]').val()),
	    'position_x' : Z.parseInt($('form input[name=position_x]').val()),
	    'position_y' : Z.parseInt($('form input[name=position_y]').val()),
	    'name_zh' : $('form input[name=name_zh]').val(),
	    'name_fr' : $('form input[name=name_fr]').val(),
	    'name_en' : $('form input[name=name_en]').val()
	};
	
	if(update||false){
	    data['id'] = Z.parseInt($('form input[name=id]').val());
	}
	
	return data;
    }
    
    function pageLoad(){
	Z.ajax({
	    'url' : Z.url('/backend/city/records'),
	    'success' : function(data){
		var cityTemplate = '<a href="javascript:void(0);" data="${id}" class="city{{if type==0}} right{{else}} left{{/if}}" style="left:${position_x}px;top:${position_y}px;">${name_zh}</a>';
		
		$('div.map').html($.tmpl(cityTemplate,data.records));
	    }
	});
    }
    
    function fillForm(data){
	$('form input[name="id"]').val(data.id);
	$('form select[name="type"]').val(data.type);
	$('form input[name="position_x"]').val(data.position_x);
	$('form input[name="position_y"]').val(data.position_y);
	$('form input[name="name_zh"]').val(data.name_zh);
	$('form input[name="name_fr"]').val(data.name_fr);
	$('form input[name="name_en"]').val(data.name_en);
    }
    
    $('div.map a.city').live('click',function(){
	$(this).siblings('.active').removeClass('active');
	$(this).addClass('active');
	
	var id = Z.parseInt($(this).attr('data'));
	Z.ajax({
	    'url' : Z.url('/backend/city/records'),
	    'data': {'id' : id},
	    'success' : function(data){
		if(data.total == 0){
		    Z.alert('参数错误，取不到城市信息。');
		    return;
		}
		
		fillForm(data.records[0]);
	    }
	});
	return false;
    });
    
    $('form a.insert').click(function(){
	Z.ajax({
	    'url' : Z.url('/backend/city/insert'),
	    'type' : 'post',
	    'data' : getFormData(),
	    'success' : function(){pageLoad();}
	});
	return false;
    });
    
    $('form a.update').click(function(){
	Z.ajax({
	    'url' : Z.url('/backend/city/update'),
	    'type' : 'post',
	    'data' : getFormData(1),
	    'success' : function(){pageLoad();}
	});
	return false;
    });
    
    $('form a.delete').live('click',function(){
	var id = Z.parseInt($(this).parent().parent().find('input[name="id"]').val());
	Z.confirm({
	    'content' : '确定删除吗？',
	    'confirm' : function(){
		Z.ajax({
		    url : Z.url('/backend/city/delete/'+id),
		    success : function(){
			pageLoad();
		    }
		});
	    }
	});
	return false;
    });
    
    pageLoad();
});
